<h2>DESCRIPTION</h2>

<em>i.zc</em> is an image processing module used for edge
detection.  The raster map produced shows the location of
"boundaries" on the input map.  Boundaries tend to be found
in regions of changing cell values and tend to run
perpendicular to the direction of the slope.  The algorithm
used for edge detection is one of the "zero-crossing"
algorithms and is discussed briefly below.


<h2>NOTES</h2>

The procedure to find the "edges" in the image is as follows:

<ol>
<li> The Fourier transform of the image is taken, 
<li> The Fourier transform of the Laplacian of a two-dimensional 
Gaussian function is used to filter the transformed image, 
<li> The result is run through an inverse Fourier transform,
<li> The resulting image is traversed in search of places where the image
changes from positive to negative or from negative to positive, 
<li> Each cell in the map where the value crosses zero
(with a change in value greater than the threshold value)
is marked as an edge and an orientation is assigned to it.
The resulting raster map layer is output.
</ol>

The <b>width=</b> parameter determines the x-y extent of the
Gaussian filter.  The default value is <b>9</b>; higher and lower
values can be tested by the user.  Increasing the width
will result in finding "edges" representing more gradual
changes in cell values.

<p>
The <b>threshold=</b> parameter determines the "sensitivity" of the
Gaussian filter.  The default value is <b>1</b>;  higher and
lower values can be tested by the user.  Increasing the
threshold value will result in fewer edges being found.

<p>
The <b>orientations=</b> value is the number of azimuth directions the
cells on the output raster map layer are categorized into
(similar to the aspect raster map layer produced by
<em><a href="r.slope.aspect.html">r.slope.aspect</a></em>.
For example, a value of <b>16</b> would result in
detected edges being categorized into one of 16 bins
depending on the direction of the edge at that point.

<p>
The current region definition and mask settings are respected
when reading the input map.

<h2>SEE ALSO</h2>

<em>
<a href="i.fft.html">i.fft</a>,
<a href="i.ifft.html">i.ifft</a>,
<a href="r.mapcalc.html">r.mapcalc</a>,
<a href="r.mfilter.html">r.mfilter</a>,
<a href="r.slope.aspect.html">r.slope.aspect</a>
</em>

<h2>AUTHOR</h2>

David Satnik, GIS Laboratory, 
Central Washington University

<!--
<p>
<i>Last changed: $Date$</i>
-->
